// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
// PARTICULAR PURPOSE.
//
// Copyright (c) Microsoft Corporation. All rights reserved.

#pragma once

#include "QvObject.h"
#include "QvXmlDocument.h"

class QvXmlNodeList;

class QvToolkit_Export QvXmlNode : public QvObject
{
public:
    QvXmlNode(IXMLDOMNode* pNode);
    QvXmlNode(QvXmlNode const &);
    QvXmlNode& operator=(QvXmlNode const &);
    virtual ~QvXmlNode();

    QvXmlNodeList* GetChildNodes();
    const QvChar* GetName();
    const QvChar* GetInnerText();

private:
    QvChar* m_strName;
    QvChar* m_strText;
    IXMLDOMNode     *m_pNode;
    QvXmlNodeList   *m_pChildNodes;
};


